/**
 * com.cnhis.cloudhealth.base.bo.SysParametersBo.java
 */
package com.cnhis.cloudhealth.clinical.infusion.base.bo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.cnhis.cloudhealth.clinical.infusion.base.dao.CliSysParametersDao;
import com.cnhis.cloudhealth.clinical.infusion.base.mapper.SysParameters;
import com.cnhis.cloudhealth.commons.utils.Page;

/**
 * @file  SysParametersBo.java
 * @author hedongdong
 * @version 0.1
 * @todo	SysParameters业务操作接口
 * Copyright(C), 2013-2014
 *		 Shenzhen Coordinates Software Development Co., Ltd.
 * History
 *   	1. Date: 2016-06-13 02:22:13
 *      	Author: hedongdong
 *      	Modification: this file was created
 *   	2. ...
 */
@Service
public class CliSysParametersBo {
	@Resource
	private CliSysParametersDao clisysParametersDao;
	

    /**
	 * @param sysParametersDao the sysParametersDao to set
	 */
	public void setSysParametersDao(CliSysParametersDao clisysParametersDao) {
		this.clisysParametersDao = clisysParametersDao;
	}


	/**
     * 配置文件中编号：(1)
	 * 查找所有数据库记录
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     */
	@SuppressWarnings({ "rawtypes" })
    public List getAll() throws Exception {
		return clisysParametersDao.selectAll();
	}
	
    /**
     * 配置文件中编号：(2)
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List getByParamMap(Map paramMap) throws Exception{
		 return clisysParametersDao.selectByParamMap(paramMap);
	}
	
	/**
     * 配置文件中编号：(3)
     * 查找符合条件的所有数据库记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : List 返回查询操作所有符合条件的记录的VO对象集合，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings({ "rawtypes" })
    public List get(SysParameters vo) throws Exception{
		if(vo == null) return null;
        return clisysParametersDao.selectByVo(vo);
	}
	
    /**
     * 配置文件中编号：(3-2)
     * 分页查找
     * @param condition 与数据库中记录对应的值对象
     * @return type : Page 返回满足条件的记录集，操作失败返回null
     * @throws Exception
     */
	@SuppressWarnings("rawtypes")
	public Page getPage(Map condition) throws Exception{
		if(condition == null) return null;
        return clisysParametersDao.selectForPage(condition);
	}
	
	@SuppressWarnings({ "rawtypes" })
    public Page getPageByParamMap(Map condition, int currPage, int pageSize) throws Exception{
		if (condition == null)
			return null;
		return clisysParametersDao.queryByParams(condition, currPage, pageSize);
	}
	
    /**
     * 配置文件中编号：(3-3)
     * 查找符合条件的所有数据库记录
     * @param pkid 与数据库中主键对应的值
     * @return type : RpDir 返回查询操作所有符合条件的记录的VO对象，操作失败返回null
     * @throws Exception
     */
	public SysParameters get(String pkid) throws Exception{
		if(pkid==null) return null;
     	return clisysParametersDao.selectByPk(pkid);
	}
	
	/**
     * 配置文件中编号：(4)
     * 向数据库中插入一条记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : RpDir 返回插入操作是否成功
     * @throws Exception
     */
    public SysParameters save(SysParameters vo) throws Exception{
    	if(vo == null) return null;
		return null;
    }
    
    /**
     * 配置文件中编号：(5)
     * 删除符合条件的所有数据库记录
     * @param pkid 与数据库中主键对应的值
     * @return type : boolean 返回删除操做是否成功，操作失败返回false
     */
    public boolean remove(String pkid) throws Exception{
    	if(pkid == null) return false;
    	return clisysParametersDao.deleteByPk(pkid);
    }
    

    
    /**
     * 配置文件中编号：(6)
     * 删除数据库中与传入的值对象对应的记录
     * @param vo 与数据库中记录对应的值对象
     * @return type : boolean 返回删除操作是否成功
     * @throws Exception
     */
    public boolean remove(SysParameters vo) throws Exception{
    	if(vo == null) return false;
     	return clisysParametersDao.deleteByVo(vo);
    }

	/**
	 * 参数的批量添加
	 * @param list
	 * @throws Exception
	 */
	public void saveSysParameterList(List<SysParameters> list) throws Exception{
		clisysParametersDao.saveSysParameterList(list);
	}

	public void updateSysParameterList(List<Map<String,Object>> list) throws Exception{
		clisysParametersDao.updateSysParameterList(list);
	}

	public void updateSysParameter(Map<String,Object> map) throws Exception{
		clisysParametersDao.updateSysParameter(map);
	}

	/**
	 * 查询出所有  病历参数信息
	 * @return
	 * @throws Exception
	 */
	public List<SysParameters> querySysParameter()throws Exception {
		List<SysParameters> list = new ArrayList<SysParameters>();
		list = clisysParametersDao.querySysParameter();
		return list;
	}

	/**
	 * 根据  产品id  程序id  编号  查询系统参数
	 * @param productid
	 * @param programid
	 * @param paramno
	 * @return
	 * @throws Exception
	 */
	public SysParameters queryParameterByPara(Map<String,Object> map) throws Exception{
		SysParameters parameters = null;
		if(!"".equals(map) && map != null){
			parameters = clisysParametersDao.queryParameterByPara(map);
		}
		return parameters;
	}

	/**
	 * 根据  产品id  程序id  编号  查询系统参数
	 * 多个编号    多个参数
	 * @return
	 * @throws Exception
	 */
	public List<SysParameters> queryParamListByParam(Map<String,Object> map) throws Exception{
		List<SysParameters> list = new ArrayList<SysParameters>();
		if(!"".equals(map) && map != null){
			list = clisysParametersDao.queryParamListByParam(map);
		}
		return list;
	}
	
	/**
	 * 
	 * @Title: querySysParameterRange   
	 * @Description: 查询检索最大天数参数
	 * @param: @return
	 * @param: @throws Exception
	 * @return: int      
	 * @throws
	 */
	public int querySysParameterRange() throws Exception{
		return clisysParametersDao.querySysParameterRange();
	}

}
